package com.jx.driving.protocol.terminal.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import com.jx.driving.protocol.terminal.codec.DynamicByteArrayFieldReaderWriter;
import com.jx.driving.protocol.terminal.codec.FieldReaderWriter;

/**
 * 动态类型数组标记 开头以一个 value长度byte 来表示数组长度 支持类型 byte[]
 * 
 * @author shenliuyang
 *
 *         2016年7月29日下午6:06:57
 */
@Target(value = { java.lang.annotation.ElementType.FIELD })
@Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public @interface DynamicByteArrayAnnotation {
    /**
     * 默认2
     */
    int value() default 2;

    Class<? extends FieldReaderWriter> codec() default DynamicByteArrayFieldReaderWriter.class;

    /**
     * 设置当前字段顺序
     */
    int order();
}